[INFO] cloning repository https://github.com/radudiaconu0/toji
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/radudiaconu0/toji" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fradudiaconu0%2Ftoji", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fradudiaconu0%2Ftoji'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 13bb90260441f7d87e8ca9288dd9fed5055d8c96
[INFO] testing radudiaconu0/toji against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fradudiaconu0%2Ftoji" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/radudiaconu0/toji
[INFO] finished tweaking git repo https://github.com/radudiaconu0/toji
[INFO] tweaked toml for git repo https://github.com/radudiaconu0/toji written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/radudiaconu0/toji on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/radudiaconu0/toji already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bf9b73e1dae5a18afa44fec94b8ecae713534bab2a7ffe5fc5b8bda5e7937b64
[INFO] running `Command { std: "docker" "start" "-a" "bf9b73e1dae5a18afa44fec94b8ecae713534bab2a7ffe5fc5b8bda5e7937b64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf9b73e1dae5a18afa44fec94b8ecae713534bab2a7ffe5fc5b8bda5e7937b64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf9b73e1dae5a18afa44fec94b8ecae713534bab2a7ffe5fc5b8bda5e7937b64", kill_on_drop: false }`
[INFO] [stdout] bf9b73e1dae5a18afa44fec94b8ecae713534bab2a7ffe5fc5b8bda5e7937b64
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 269c19f45a24f79272d1611842cb3fd94a33560408421d4995810d50e20eb04c
[INFO] running `Command { std: "docker" "start" "-a" "269c19f45a24f79272d1611842cb3fd94a33560408421d4995810d50e20eb04c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.13
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]    Compiling smallvec v1.13.1
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling tower-layer v0.3.2
[INFO] [stderr]    Compiling subtle v2.5.0
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling signal-hook-registry v1.4.1
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling socket2 v0.5.6
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling http v1.1.0
[INFO] [stderr]    Compiling indexmap v2.2.5
[INFO] [stderr]    Compiling getrandom v0.2.12
[INFO] [stderr]    Compiling tower-service v0.3.2
[INFO] [stderr]    Compiling const-oid v0.10.0-pre.2
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling axum-core v0.4.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling ryu v1.0.17
[INFO] [stderr]    Compiling serde_json v1.0.114
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling axum v0.7.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling either v1.10.0
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling hybrid-array v0.2.0-rc.7
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling cpufeatures v0.2.12
[INFO] [stderr]    Compiling http-range-header v0.4.0
[INFO] [stderr]    Compiling bitflags v2.4.2
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling crypto-common v0.2.0-pre.5
[INFO] [stderr]    Compiling iana-time-zone v0.1.60
[INFO] [stderr]    Compiling colored v2.1.0
[INFO] [stderr]    Compiling md5 v0.7.0
[INFO] [stderr]    Compiling base64 v0.22.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling rayon v1.9.0
[INFO] [stderr]    Compiling http-body v1.0.0
[INFO] [stderr]    Compiling block-buffer v0.11.0-pre.5
[INFO] [stderr]    Compiling digest v0.11.0-pre.8
[INFO] [stderr]    Compiling chrono v0.4.34
[INFO] [stderr]    Compiling regex-automata v0.4.6
[INFO] [stderr]    Compiling http-body-util v0.1.0
[INFO] [stderr]    Compiling sha2 v0.11.0-pre.3
[INFO] [stderr]    Compiling sha1 v0.11.0-pre.3
[INFO] [stderr]    Compiling hmac v0.13.0-pre.3
[INFO] [stderr]    Compiling sysinfo v0.30.6
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling pin-project-internal v1.1.4
[INFO] [stderr]    Compiling tokio v1.36.0
[INFO] [stderr]    Compiling pin-project v1.1.4
[INFO] [stderr]    Compiling regex v1.10.3
[INFO] [stderr]    Compiling tokio-util v0.7.10
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling web-socket v0.7.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.15
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling h2 v0.4.2
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling hyper v1.2.0
[INFO] [stderr]    Compiling hyper-util v0.1.3
[INFO] [stderr]    Compiling toji v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `WebhookInterface` is never constructed
[INFO] [stdout]  --> src/app.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct WebhookInterface {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LambdaOptions` is never constructed
[INFO] [stdout]   --> src/app.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct LambdaOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `App` is never constructed
[INFO] [stdout]   --> src/app.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) struct App {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `transform_potential_json_to_array` are never used
[INFO] [stdout]    --> src/app.rs:50:8
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl App {
[INFO] [stdout]     | -------- associated functions in this implementation
[INFO] [stdout]  50 |     fn new(initial_app: HashMap<&str, serde_json::Value>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn transform_potential_json_to_array(potential_json: &Value) -> Vec<Value> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Redis` is never constructed
[INFO] [stdout]  --> src/options.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Redis {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClusterNode` is never constructed
[INFO] [stdout]   --> src/options.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ClusterNode {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RedisSentinel` is never constructed
[INFO] [stdout]   --> src/options.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct RedisSentinel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Adapter` is never constructed
[INFO] [stdout]   --> src/options.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Adapter {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RedisAdapter` is never constructed
[INFO] [stdout]   --> src/options.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct RedisAdapter {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClusterAdapter` is never constructed
[INFO] [stdout]   --> src/options.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ClusterAdapter {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NatsAdapter` is never constructed
[INFO] [stdout]   --> src/options.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct NatsAdapter {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppManager` is never constructed
[INFO] [stdout]   --> src/options.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct AppManager {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArrayAppManager` is never constructed
[INFO] [stdout]   --> src/options.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct ArrayAppManager {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheAppManager` is never constructed
[INFO] [stdout]   --> src/options.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct CacheAppManager {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MySQLAppManager` is never constructed
[INFO] [stdout]   --> src/options.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct MySQLAppManager {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Prometheus` is never constructed
[INFO] [stdout]   --> src/options.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Prometheus {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metrics` is never constructed
[INFO] [stdout]   --> src/options.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct Metrics {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Options` is never constructed
[INFO] [stdout]   --> src/options.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct Options {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/options.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl Options {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 106 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `send_to_socket` is not a member of trait `Adapter`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     async fn send_to_socket(namespace: Namespace, user_id: &str, message: serde_json::Value) {
[INFO] [stdout] 65 | |         namespace.to_user_sockets(user_id, |ws| async { ws.send_json(message).await })
[INFO] [stdout] 66 | |     }
[INFO] [stdout]    | |_____^ not a member of trait `Adapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `RwLock`
[INFO] [stdout]  --> src/adapters/adapter.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::{Arc, RwLock};
[INFO] [stdout]   |                 ^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]  --> src/adapters/adapter.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::message`
[INFO] [stdout]  --> src/adapters/local_adapter.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::message;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/adapters/local_adapter.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ws_handler::WSHandler`
[INFO] [stdout]  --> src/http_handler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::ws_handler::WSHandler;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConnectInfo` and `Query`
[INFO] [stdout]  --> src/http_handler.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use axum::extract::{ConnectInfo, Path, Query, State};
[INFO] [stdout]   |                     ^^^^^^^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Response`
[INFO] [stdout]  --> src/http_handler.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | use axum::response::{IntoResponse, Response};
[INFO] [stdout]   |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::adapters::adapter::Adapter`
[INFO] [stdout]   --> src/http_handler.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::adapters::adapter::Adapter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PresenceMember`
[INFO] [stdout]  --> src/namespace.rs:2:49
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::channels::presence_channel_manager::{PresenceMember, PresenceMemberInfo};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/web_socket.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/web_socket.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]  --> src/web_socket.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::adapters::adapter::Adapter`
[INFO] [stdout]  --> src/ws_handler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::adapters::adapter::Adapter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UWebSocketMessage`
[INFO] [stdout]  --> src/ws_handler.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::message::{PusherMessage, UWebSocketMessage};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/ws_handler.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]   --> src/ws_handler.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Weak`
[INFO] [stdout]   --> src/ws_handler.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::sync::{Arc, Weak};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `adapters::local_adapter::LocalAdapter`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use adapters::local_adapter::LocalAdapter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/adapters/local_adapter.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         namespace.to_user_sockets(user_id, |ws| async { ws.send_json(message).await })
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- help: consider using a semicolon here: `;`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected `()`, found `Vec<...>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected unit type `()`
[INFO] [stdout]                  found struct `Vec<{async block@src/adapters/local_adapter.rs:65:49: 65:54}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]   --> src/http_handler.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | /     pub async fn channels(
[INFO] [stdout] 38 | |         Path(app_id): Path<u32>,
[INFO] [stdout] 39 | |         State(mut state): State<AppState>,
[INFO] [stdout] 40 | |     ) -> impl IntoResponse {
[INFO] [stdout]    | |__________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: IntoResponse` will fail
[INFO] [stdout]   --> src/http_handler.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |       ) -> impl IntoResponse {
[INFO] [stdout]    |  ____________________________^
[INFO] [stdout] 41 | |         todo!("Implement channels")
[INFO] [stdout] 42 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]    = note: `#[deny(dependency_on_unit_never_type_fallback)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/http_handler.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |         State(mut state): State<AppState>,
[INFO] [stdout]    |               ----^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/ws_handler.rs:97:75
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     state.lock().await.sockets.lock().await.insert(ws_id, ws);
[INFO] [stdout]    |                                                             ------        ^^ expected `WebSocket`, found `&WebSocket`
[INFO] [stdout]    |                                                             |
[INFO] [stdout]    |                                                             arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] help: the return type of this call is `&web_socket::WebSocket` due to the type of the argument passed
[INFO] [stdout]   --> src/ws_handler.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     state.lock().await.sockets.lock().await.insert(ws_id, ws);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--^
[INFO] [stdout]    |                                                                           |
[INFO] [stdout]    |                                                                           this argument influences the return type of `insert`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/collections/hash/map.rs:1299:11
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ws_handler.rs:123:30
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub async fn handle_pong(mut ws: &mut WebSocket) {
[INFO] [stdout]     |                              ----^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `*ws` as mutable, as it is behind a `&` reference
[INFO] [stdout]    --> src/ws_handler.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |         ws.send_json(serde_json::json!({
[INFO] [stdout]     |         ^^ `ws` is a `&` reference, so it cannot be borrowed as mutable
[INFO] [stdout]     |
[INFO] [stdout] help: consider specifying this binding's type
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub async fn subscribe_to_channel(ws: &mut web_socket::WebSocket: &WebSocket, channel_name: String) {
[INFO] [stdout]     |                                         ++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServiceExt`
[INFO] [stdout]  --> src/main.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use axum::{Router, ServiceExt};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:41:39
[INFO] [stdout]    |
[INFO] [stdout] 41 |     async fn remove_socket(&mut self, app_id: &str, ws_id: &str) -> bool {
[INFO] [stdout]    |                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ws_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:41:53
[INFO] [stdout]    |
[INFO] [stdout] 41 |     async fn remove_socket(&mut self, app_id: &str, ws_id: &str) -> bool {
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_ws_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:45:40
[INFO] [stdout]    |
[INFO] [stdout] 45 |     async fn add_to_channel(&mut self, app_id: &str, channel: &str, ws: WebSocket) -> usize {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:45:54
[INFO] [stdout]    |
[INFO] [stdout] 45 |     async fn add_to_channel(&mut self, app_id: &str, channel: &str, ws: WebSocket) -> usize {
[INFO] [stdout]    |                                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ws`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:45:69
[INFO] [stdout]    |
[INFO] [stdout] 45 |     async fn add_to_channel(&mut self, app_id: &str, channel: &str, ws: WebSocket) -> usize {
[INFO] [stdout]    |                                                                     ^^ help: if this is intentional, prefix it with an underscore: `_ws`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         app_id: &str,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         channel: Channel,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ws_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ws_id: &str,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_ws_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |     async fn send(&mut self, app_id: &str, channel: &str, data: &str, excepting_id: Option<&str>) {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:58:44
[INFO] [stdout]    |
[INFO] [stdout] 58 |     async fn send(&mut self, app_id: &str, channel: &str, data: &str, excepting_id: Option<&str>) {
[INFO] [stdout]    |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:58:59
[INFO] [stdout]    |
[INFO] [stdout] 58 |     async fn send(&mut self, app_id: &str, channel: &str, data: &str, excepting_id: Option<&str>) {
[INFO] [stdout]    |                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `excepting_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:58:71
[INFO] [stdout]    |
[INFO] [stdout] 58 |     async fn send(&mut self, app_id: &str, channel: &str, data: &str, excepting_id: Option<&str>) {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_excepting_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:62:52
[INFO] [stdout]    |
[INFO] [stdout] 62 |     async fn terminate_user_connections(&mut self, app_id: &str, user_id: &str) {}
[INFO] [stdout]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:62:66
[INFO] [stdout]    |
[INFO] [stdout] 62 |     async fn terminate_user_connections(&mut self, app_id: &str, user_id: &str) {}
[INFO] [stdout]    |                                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `namespace_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:72:41
[INFO] [stdout]    |
[INFO] [stdout] 72 |     async fn clear_namespace(&mut self, namespace_id: &str) {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_namespace_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:80:37
[INFO] [stdout]    |
[INFO] [stdout] 80 |     async fn get_sockets(&mut self, app_id: &str, only_local: bool) -> HashMap<String, WebSocket> {
[INFO] [stdout]    |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `only_local`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:80:51
[INFO] [stdout]    |
[INFO] [stdout] 80 |     async fn get_sockets(&mut self, app_id: &str, only_local: bool) -> HashMap<String, WebSocket> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_only_local`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:84:43
[INFO] [stdout]    |
[INFO] [stdout] 84 |     async fn get_sockets_count(&mut self, app_id: &str, only_local: bool) -> usize {
[INFO] [stdout]    |                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `only_local`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:84:57
[INFO] [stdout]    |
[INFO] [stdout] 84 |     async fn get_sockets_count(&mut self, app_id: &str, only_local: bool) -> usize {
[INFO] [stdout]    |                                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_only_local`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         app_id: &str,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `only_local`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         only_local: bool,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_only_local`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         app_id: &str,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `only_local`
[INFO] [stdout]   --> src/adapters/local_adapter.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         only_local: bool,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_only_local`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |         app_id: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |         channel: &str,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `only_local`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         only_local: bool,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_only_local`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         app_id: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         channel: &str,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `only_local`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |         only_local: bool,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_only_local`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         app_id: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         channel: &str,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `only_local`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         only_local: bool,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_only_local`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         app_id: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         channel: &str,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `only_local`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         only_local: bool,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_only_local`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         app_id: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         channel: &str,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ws_id`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         ws_id: &str,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_ws_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `only_local`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         only_local: bool,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_only_local`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ws`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:150:34
[INFO] [stdout]     |
[INFO] [stdout] 150 |     async fn add_user(&mut self, ws: WebSocket) {
[INFO] [stdout]     |                                  ^^ help: if this is intentional, prefix it with an underscore: `_ws`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ws`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:154:37
[INFO] [stdout]     |
[INFO] [stdout] 154 |     async fn remove_user(&mut self, ws: WebSocket) {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_ws`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:158:42
[INFO] [stdout]     |
[INFO] [stdout] 158 |     async fn get_user_sockets(&mut self, app_id: &str, user_id: &str) -> HashSet<&WebSocket> {
[INFO] [stdout]     |                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/adapters/local_adapter.rs:158:56
[INFO] [stdout]     |
[INFO] [stdout] 158 |     async fn get_user_sockets(&mut self, app_id: &str, user_id: &str) -> HashSet<&WebSocket> {
[INFO] [stdout]     |                                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/channels/public_channel_manager.rs:27:54
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn join(&self, ws: WebSocket, channel: &str, message: PusherMessage) -> JoinResponse {
[INFO] [stdout]    |                                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]   --> src/channels/public_channel_manager.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn leave(&self, channel: &str) -> LeaveResponse {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]   --> src/http_handler.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 |         Path(app_id): Path<u32>,
[INFO] [stdout]    |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/http_handler.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |         State(mut state): State<AppState>,
[INFO] [stdout]    |               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> src/namespace.rs:118:25
[INFO] [stdout]     |
[INFO] [stdout] 118 |             if let Some(user) = self.users.get_mut(&user_id) {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing temporary value
[INFO] [stdout]    --> src/namespace.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 if let Some(ws) = self.sockets.lock().unwrap().get(ws_id) {
[INFO] [stdout]     |                                   ---------------------------- temporary value created here
[INFO] [stdout] ...
[INFO] [stdout] 141 |             Ok(sockets.clone())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ returns a value referencing data owned by the current function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel`
[INFO] [stdout]    --> src/namespace.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |         channel: &str,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_name`
[INFO] [stdout]    --> src/ws_handler.rs:188:55
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub async fn subscribe_to_channel(ws: &WebSocket, channel_name: String) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0407, E0515, E0596.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `toji` (bin "toji") due to 7 previous errors; 71 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "269c19f45a24f79272d1611842cb3fd94a33560408421d4995810d50e20eb04c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "269c19f45a24f79272d1611842cb3fd94a33560408421d4995810d50e20eb04c", kill_on_drop: false }`
[INFO] [stdout] 269c19f45a24f79272d1611842cb3fd94a33560408421d4995810d50e20eb04c
